$(function () {
    var $blin = $(".light p"),//所有彩灯
        $prize = $(".play li").not("#btn"),//含谢谢参与的所有奖品
        $change = $("#change"),//显示剩余机会
        $btn = $("#btn"),//开始抽奖按钮
        length = $prize.length,//奖品总数
        data = { count: 1 },//次数
        bool = false,//判断是否可点击,true为可点击
        mark = 0,//标记当前位置，区间为0-7
        timer,//定时器
        game, //活动id
        giftlist = []; //奖品数组


    var token = queryString("token");

    console.log(token);
    if (!token) {
        $("#myWin").attr("href", "javascript:alert('请先登录')");
        console.log('请先登录');
    } else {
        $("#myWin").attr("href", "personal-center.html?token=" + token);
    }
    // 调用方法
    init();
    console.log('请求配置');
    getData();

    //默认动画效果
    function init() {
        timer = setInterval(function () {
            //不能调用animate函数，不然标记会有问题
            $blin.toggleClass("blin");//彩灯动画
            //九宫格动画
            length++;
            length %= 8;
            $prize.eq(length - 1).removeClass("select");
            $prize.eq(length).addClass("select");

            //位置标记的改变
            mark++;
            mark %= 8;
        }, 1000);
    }

    // 权重越小越难中奖
    // 这里一等奖：30% 二等奖：30%  三等奖：30% 四等奖：10% 
    const prizeList = [
        { name: 1, weight: 30 },
        { name: 2, weight: 30 },
        { name: 3, weight: 30 },
        { name: 4, weight: 10 }
    ]
    const giftItmes = [
        [1, 7],
        [3, 6],
        [5, 8],
        [2, 4]
    ];

    function config(prizeList) {
        let index = 0
        prizeList.forEach(prize => {
            prize.min = index
            prize.max = index + prize.weight
            index += prize.weight
        })
        let num = Math.floor(Math.random() * 100);
        return (prizeList.filter(prize => prize.max > num && prize.min <= num)[0]).name;
    }

    //点击旋转
    function clickFn() {
        clearInterval(timer);//点击抽奖时清除定时器
        var list = [1, 2, 3, 4, 5, 6, 7, 8];//抽奖概率
        //data为随机出来的结果，根据概率后的结果
        random = config(prizeList);//random[Math.floor(Math.random() * random.length)];//1-8的随机数
        // console.log(num);
        // num = num - 1;
        // var random = giftItmes[num][Math.floor(Math.random() * 2)]
        // console.log(random);
        // if (random >= mark) {
        //     mark = random;
        // } else {
        //     mark = 8 + random - mark;
        // }
        mark += random;
        mark %= 8;
        console.log(mark);
        //控制概率，永远抽不中四等奖参与
        // if (mark === 1) {//抽中一等奖则向前一位
        //     random++;
        //     mark++;
        // }
        // if (mark === 3) {//抽中二等奖则向后一位
        //     random--;
        //     mark--;
        // }
        //默认先转4圈
        random += 32;//圈数 * 奖品格数
        //调用旋转动画
        for (var i = 1; i <= random; i++) {
            setTimeout(animate(), 2 * i * i);//第二个值越大，慢速旋转时间越长
        }
        //停止旋转动画
        setTimeout(function () {
            console.log("中了" + mark);
            setTimeout(function () {
                var doc = {
                    token: token,
                    status: false,
                    win: false,
                    game: game,
                    count: data.count,
                    level: '',
                    remarks: ''
                };

                if (giftlist[mark]) {
                    doc.level = giftlist[mark].name;
                    doc.remarks = giftlist[mark].remarks;
                    doc.conins = giftlist[mark].conins;
                }

                //if (mark == 4 || mark == 5 || mark == 7) {
                doc.win = true;
                console.log('恭喜你，抽中了');
                // } else {
                //     doc.win = false;
                //     console.log('很遗憾，未中奖');
                // }
                // 保存抽奖记录
                savegamehis(doc);
            }, 1000);
        }, 2 * random * random);
    }

    //动画效果
    function animate() {
        return function () {
            $blin.toggleClass("blin");//彩灯动画
            //九宫格动画
            length++;
            length %= 8;
            $prize.eq(length - 1).removeClass("select");
            $prize.eq(length).addClass("select");
        }
    }

    //中奖信息提示
    $("#close,.win,.btn").click(function () {
        clearInterval(timer);//关闭弹出时清除定时器
        init();
    });

    //奖品展示
    var show = new Swiper(".swiper-container", {
        direction: "horizontal",//水平方向滑动。 vertical为垂直方向滑动
        loop: false,//是否循环
        slidesPerView: "auto"//自动根据slides的宽度来设定数量
    });

    //此处可以在commonjs中合并
    function queryString(name) {
        name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regexS = "[\\?&]" + name + "=([^&#]*)";
        var regex = new RegExp(regexS);
        var results = regex.exec(window.location.search);
        if (results === null) {
            return "";
        }
        else {
            return decodeURIComponent(results[1].replace(/\+/g, " "));
        }
    }
    // 初始获取活动配置信息
    function getData() {
        $.get("https://platform.shmixin.cn/game/querygame?token=" + token, (res) => {
            console.log(res)
            if (res.code == 1) {
                var red = res.data;
                if (red) {
                    game = red._id;
                    if (red.headtitle) {
                        $("#headtitle").text(red.headtitle);
                    }
                    if (red.title) {
                        $("#headtitle2").text(red.title);
                    }
                    if (red.gametime) {
                        $(".time").text(red.gametime);
                    }
                    //if (red.count) {
                        console.log(red.count)
                        data.count = red.count;
                        $change.html(data.count);
                        // $("#change").text(red.count);
                    //}
                    if (red.gamerule) {
                        let rules = '';
                        red.gamerule.split('。').forEach((a) => {
                            rules += '<p>' + a + '</P>';
                        })
                        $("#gamerule").html(rules);
                    }
                    if (red.items && red.items.length > 0) {
                        giftlist = red.items;
                        let awards = "";
                        red.items.forEach((a, i) => {
                            if (a.win) {
                                awards += "<p>" + a.name + "：" + a.remarks + "</p>";
                            }
                            $("#p" + (i + 1)).text(a.name);
                        })
                        //$("#awards").html(awards);
                    }

                    if (red.enable) {
                        bool = true;
                        //点击抽奖
                        $btn.click(function () {
                            if (bool) {//若未按下
                                bool = false;
                                if (data.count > 0) {//若还有次数
                                    data.count--;
                                    $change.html(data.count);
                                    clickFn();
                                } else {
                                    $(this).blur();
                                    alert("您剩余抽奖次数为0，不能抽奖~");
                                    bool = true;
                                }
                            }
                        });
                    } else {
                        //点击抽奖
                        $btn.click(function () {
                            alert(red.msg);
                        });
                        $(this).blur();
                        alert(red.msg);
                    }
                }
            } else {
                $(this).blur();
                alert(res.message, "提示");
            }
        }
        );
    }

    // 保存抽奖记录
    function savegamehis(doc) {
        $.post("https://platform.shmixin.cn/usergame/save", doc, (res) => {
            if (res.code == 1) {
                console.log('保存抽奖记录成功，弹出中奖信息');
                bool = true;
                //if(doc.win){
                win(res.data.id);
                // }else{
                //     transport();
                // }
            } else {
                data.count++;
                $change.html(data.count);
                bool = true;
                console.log("保存抽奖记录失败,请稍后再试。");
                $(this).blur();
                alert("保存抽奖记录失败,请稍后再试。", "提示");
            }
        }
        );
    }

    // function test (total, prizeName) {
    //     const lottery = config(prizeList)
    //     let n = 0
    //     for (let i = 0; i < total; i++) {
    //         if (lottery().name === prizeName) {
    //             n++
    //         }
    //     }
    //     console.log(prizeName, n / total)
    // }
    // test(100000, 1) // 10%
    // test(100000, 2) // 30%
    // test(100000, 3) // 30%
    // test(100000, 4) // 30%

});





